start: 00000000 4E56 FF40 link A6, -0x00C0 00000004 48E7 0F18 movem.l -[A7], D4,D5,D6,D7,A3,A4 00000008 4205 clr.b D5 0000000A 7009 moveq.l D0, 0x09 0000000C 3238 0B22 move.w D1, [0x00000B22 /* HWCfgFlags */] 00000010 E061 asr D1.w, D0 00000012 7801 moveq.l D4, 0x01 00000014 C841 and.w D4, D1 00000016 4246 clr.w D6 00000018 41FA FFE6 lea.l A0, [PC - 0x1A /* 00000000, value 0x4E56FF40 */] 0000001C A128 syscall RecoverHandle, flags=1 0000001E 2D48 FFFC move.l [A6 - 0x4], A0 00000022 7002 moveq.l D0, 0x02 00000024 41EE FFEC lea.l A0, [A6 - 0x14] 00000028 A090 syscall SysEnvirons 0000002A 4A40 tst.w D0 0000002C 6600 01D2 bne +0x1D4 /* 00000200 */ 00000030 0C6E 0600 FFF0 cmpi.w [A6 - 0x10], 0x600 00000036 6F00 01C8 ble +0x1CA /* 00000200 */ 0000003A 1038 028E move.b D0, [0x0000028E /* ROM85 */] 0000003E 4880 ext.w D0 00000040 323C 00C0 move.w D1, 0xC0 00000044 C200 and.b D1, D0 00000046 6706 beq +0x8 /* 0000004E */ 00000048 7C03 moveq.l D6, 0x03 0000004A 6000 01B4 bra +0x1B6 /* 00000200 */ label0000004E: 0000004E 303C AB1D move.w D0, 0xAB1D 00000052 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 00000054 2D48 FF44 move.l [A6 - 0xBC], A0 00000058 303C 009F move.w D0, 0x9F 0000005C A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 0000005E 202E FF44 move.l D0, [A6 - 0xBC] 00000062 B1C0 cmpa.l A0, D0 00000064 6606 bne +0x8 /* 0000006C */ 00000066 7C03 moveq.l D6, 0x03 00000068 6000 0196 bra +0x198 /* 00000200 */ label0000006C: 0000006C 303C A0AD move.w D0, 0xA0AD 00000070 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 00000072 2D48 FF40 move.l [A6 - 0xC0], A0 00000076 303C 009F move.w D0, 0x9F 0000007A A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 0000007C 202E FF40 move.l D0, [A6 - 0xC0] 00000080 B1C0 cmpa.l A0, D0 00000082 6606 bne +0x8 /* 0000008A */ 00000084 7C04 moveq.l D6, 0x04 00000086 6000 0178 bra +0x17A /* 00000200 */ label0000008A: 0000008A 558F subq.l A7, 2 0000008C 2F3C 7174 696D move.l -[A7], 0x7174696D /* 'qtim' */ 00000092 486E FFE8 pea.l [A6 - 0x18] 00000096 4EBA 0556 jsr [PC + 0x556 /* 000005EE */] 0000009A 4A5F tst.w [A7]+ 0000009C 6606 bne +0x8 /* 000000A4 */ 0000009E 7C02 moveq.l D6, 0x02 000000A0 6000 015E bra +0x160 /* 00000200 */ label000000A4: 000000A4 558F subq.l A7, 2 000000A6 2F3C 6370 6E74 move.l -[A7], 0x63706E74 /* 'cpnt' */ 000000AC 486E FFE8 pea.l [A6 - 0x18] 000000B0 4EBA 053C jsr [PC + 0x53C /* 000005EE */] 000000B4 4A5F tst.w [A7]+ 000000B6 6716 beq +0x18 /* 000000CE */ 000000B8 7000 moveq.l D0, 0x00 000000BA 2F00 move.l -[A7], D0 000000BC 4EBA 0240 jsr [PC + 0x240 /* 000002FE */] 000000C0 4A40 tst.w D0 000000C2 584F addq.w A7, 4 000000C4 6706 beq +0x8 /* 000000CC */ 000000C6 7C05 moveq.l D6, 0x05 000000C8 6000 0136 bra +0x138 /* 00000200 */ label000000CC: 000000CC 7A01 moveq.l D5, 0x01 label000000CE: 000000CE 558F subq.l A7, 2 000000D0 2F3C 6963 6D70 move.l -[A7], 0x69636D70 /* 'icmp' */ 000000D6 486E FFE8 pea.l [A6 - 0x18] 000000DA 4EBA 0512 jsr [PC + 0x512 /* 000005EE */] 000000DE 4A5F tst.w [A7]+ 000000E0 6716 beq +0x18 /* 000000F8 */ 000000E2 7001 moveq.l D0, 0x01 000000E4 2F00 move.l -[A7], D0 000000E6 4EBA 0216 jsr [PC + 0x216 /* 000002FE */] 000000EA 4A40 tst.w D0 000000EC 584F addq.w A7, 4 000000EE 6706 beq +0x8 /* 000000F6 */ 000000F0 7C06 moveq.l D6, 0x06 000000F2 6000 010C bra +0x10E /* 00000200 */ label000000F6: 000000F6 7A01 moveq.l D5, 0x01 label000000F8: 000000F8 4A05 tst.b D5 000000FA 6738 beq +0x3A /* 00000134 */ 000000FC 558F subq.l A7, 2 000000FE 2F3C 7468 6E67 move.l -[A7], 0x74686E67 /* 'thng' */ 00000104 A80D syscall Count1Resources 00000106 3E1F move.w D7, [A7]+ 00000108 6026 bra +0x28 /* 00000130 */ label0000010A: 0000010A 598F subq.l A7, 4 0000010C 2F3C 7468 6E67 move.l -[A7], 0x74686E67 /* 'thng' */ 00000112 3F07 move.w -[A7], D7 00000114 A80E syscall Get1IndResource/Get1IxResource 00000116 285F movea.l A4, [A7]+ 00000118 558F subq.l A7, 2 0000011A A9AF syscall ResError 0000011C 4A5F tst.w [A7]+ 0000011E 660E bne +0x10 /* 0000012E */ 00000120 598F subq.l A7, 4 00000122 2F0C move.l -[A7], A4 00000124 7001 moveq.l D0, 0x01 00000126 3F00 move.w -[A7], D0 00000128 7012 moveq.l D0, 0x12 0000012A A82A syscall ComponentDispatch 0000012C 584F addq.w A7, 4 label0000012E: 0000012E 5347 subq.w D7, 1 label00000130: 00000130 4A47 tst.w D7 00000132 66D6 bne -0x28 /* 0000010A */ label00000134: 00000134 700A moveq.l D0, 0x0A 00000136 2F00 move.l -[A7], D0 00000138 4EBA 01C4 jsr [PC + 0x1C4 /* 000002FE */] 0000013C 4A40 tst.w D0 0000013E 584F addq.w A7, 4 00000140 6706 beq +0x8 /* 00000148 */ 00000142 7C08 moveq.l D6, 0x08 00000144 6000 00BA bra +0xBC /* 00000200 */ label00000148: 00000148 7007 moveq.l D0, 0x07 0000014A 2F00 move.l -[A7], D0 0000014C 4EBA 01B0 jsr [PC + 0x1B0 /* 000002FE */] 00000150 4A40 tst.w D0 00000152 584F addq.w A7, 4 00000154 6706 beq +0x8 /* 0000015C */ 00000156 7C08 moveq.l D6, 0x08 00000158 6000 00A6 bra +0xA8 /* 00000200 */ label0000015C: 0000015C 4EBA 0186 jsr [PC + 0x186 /* 000002E4 */] 00000160 4A00 tst.b D0 00000162 663C bne +0x3E /* 000001A0 */ 00000164 4A04 tst.b D4 00000166 6614 bne +0x16 /* 0000017C */ 00000168 7019 moveq.l D0, 0x19 0000016A 2F00 move.l -[A7], D0 0000016C 4EBA 0190 jsr [PC + 0x190 /* 000002FE */] 00000170 4A40 tst.w D0 00000172 584F addq.w A7, 4 00000174 6706 beq +0x8 /* 0000017C */ 00000176 7C07 moveq.l D6, 0x07 00000178 6000 0086 bra +0x88 /* 00000200 */ label0000017C: 0000017C 701A moveq.l D0, 0x1A 0000017E 2F00 move.l -[A7], D0 00000180 4EBA 017C jsr [PC + 0x17C /* 000002FE */] 00000184 4A40 tst.w D0 00000186 584F addq.w A7, 4 00000188 6704 beq +0x6 /* 0000018E */ 0000018A 7C07 moveq.l D6, 0x07 0000018C 6072 bra +0x74 /* 00000200 */ label0000018E: 0000018E 4878 0401 push.l 0x401 00000192 4EBA 016A jsr [PC + 0x16A /* 000002FE */] 00000196 4A40 tst.w D0 00000198 584F addq.w A7, 4 0000019A 6704 beq +0x6 /* 000001A0 */ 0000019C 7C07 moveq.l D6, 0x07 0000019E 6060 bra +0x62 /* 00000200 */ label000001A0: 000001A0 4A04 tst.b D4 000001A2 6612 bne +0x14 /* 000001B6 */ 000001A4 701E moveq.l D0, 0x1E 000001A6 2F00 move.l -[A7], D0 000001A8 4EBA 0154 jsr [PC + 0x154 /* 000002FE */] 000001AC 4A40 tst.w D0 000001AE 584F addq.w A7, 4 000001B0 6704 beq +0x6 /* 000001B6 */ 000001B2 7C07 moveq.l D6, 0x07 000001B4 604A bra +0x4C /* 00000200 */ label000001B6: 000001B6 4EBA 0182 jsr [PC + 0x182 /* 0000033A */] 000001BA 4A40 tst.w D0 000001BC 6704 beq +0x6 /* 000001C2 */ 000001BE 7C08 moveq.l D6, 0x08 000001C0 603E bra +0x40 /* 00000200 */ label000001C2: 000001C2 7A01 moveq.l D5, 0x01 000001C4 4A05 tst.b D5 000001C6 671C beq +0x1E /* 000001E4 */ 000001C8 4878 0402 push.l 0x402 000001CC 4EBA 0130 jsr [PC + 0x130 /* 000002FE */] 000001D0 4A40 tst.w D0 000001D2 584F addq.w A7, 4 000001D4 6704 beq +0x6 /* 000001DA */ 000001D6 7C08 moveq.l D6, 0x08 000001D8 6026 bra +0x28 /* 00000200 */ label000001DA: 000001DA 7028 moveq.l D0, 0x28 000001DC 2F00 move.l -[A7], D0 000001DE 4EBA 011E jsr [PC + 0x11E /* 000002FE */] 000001E2 584F addq.w A7, 4 label000001E4: 000001E4 4A05 tst.b D5 000001E6 670E beq +0x10 /* 000001F6 */ 000001E8 7023 moveq.l D0, 0x23 000001EA 2F00 move.l -[A7], D0 000001EC 7201 moveq.l D1, 0x01 000001EE 2F01 move.l -[A7], D1 000001F0 4EBA 00CC jsr [PC + 0xCC /* 000002BE */] 000001F4 504F addq.w A7, 8 label000001F6: 000001F6 206E FFFC movea.l A0, [A6 - 0x4] 000001FA A02A syscall HUnlock 000001FC 6000 00B6 bra +0xB8 /* 000002B4 */ label00000200: 00000200 7023 moveq.l D0, 0x23 00000202 2F00 move.l -[A7], D0 00000204 7200 moveq.l D1, 0x00 00000206 2F01 move.l -[A7], D1 00000208 4EBA 00B4 jsr [PC + 0xB4 /* 000002BE */] 0000020C 4A46 tst.w D6 0000020E 504F addq.w A7, 8 00000210 6700 00A2 beq +0xA4 /* 000002B4 */ 00000214 2F2E FFFC move.l -[A7], [A6 - 0x4] 00000218 A992 syscall DetachResource 0000021A 486E FF98 pea.l [A6 - 0x68] 0000021E 3F3C 0080 move.w -[A7], 0x80 00000222 7001 moveq.l D0, 0x01 00000224 3F00 move.w -[A7], D0 00000226 4EBA 0380 jsr [PC + 0x380 /* 000005A8 */] 0000022A 486E FF48 pea.l [A6 - 0xB8] 0000022E 3F3C 0080 move.w -[A7], 0x80 00000232 3F06 move.w -[A7], D6 00000234 4EBA 0372 jsr [PC + 0x372 /* 000005A8 */] 00000238 41EE FF48 lea.l A0, [A6 - 0xB8] 0000023C 5248 addq.w A0, 1 0000023E 43EE FF98 lea.l A1, [A6 - 0x68] 00000242 102E FF98 move.b D0, [A6 - 0x68] 00000246 4880 ext.w D0 00000248 48C0 ext.l D0 0000024A D089 add.l D0, A1 0000024C 5280 addq.l D0, 1 0000024E 2240 movea.l A1, D0 00000250 102E FF48 move.b D0, [A6 - 0xB8] 00000254 4880 ext.w D0 00000256 48C0 ext.l D0 00000258 A02E syscall BlockMove/BlockMoveData 0000025A 102E FF48 move.b D0, [A6 - 0xB8] 0000025E D12E FF98 add.b [A6 - 0x68], D0 00000262 102E FF98 move.b D0, [A6 - 0x68] 00000266 4880 ext.w D0 00000268 D07C 0026 add.w D0, 0x26 /* '&' */ 0000026C 48C0 ext.l D0 0000026E A71E syscall NewPtrSysClear, flags=7 00000270 2648 movea.l A3, A0 00000272 41EE FF98 lea.l A0, [A6 - 0x68] 00000276 43EB 0024 lea.l A1, [A3 + 0x24] 0000027A 102E FF98 move.b D0, [A6 - 0x68] 0000027E 4880 ext.w D0 00000280 5240 addq.w D0, 1 00000282 48C0 ext.l D0 00000284 A02E syscall BlockMove/BlockMoveData 00000286 70FF moveq.l D0, 0xFFFFFFFF 00000288 2740 0014 move.l [A3 + 0x14], D0 0000028C 41EB 0024 lea.l A0, [A3 + 0x24] 00000290 2748 0018 move.l [A3 + 0x18], A0 00000294 41FA 0110 lea.l A0, [PC + 0x110 /* 000003A6, value 0x4E560000 'NV\0\0', cstring "NV" */] 00000298 2748 001C move.l [A3 + 0x1C], A0 0000029C 276E FFFC 0020 move.l [A3 + 0x20], [A6 - 0x4] 000002A2 377C 0008 0004 move.w [A3 + 0x4], 0x8 000002A8 558F subq.l A7, 2 000002AA 2F0B move.l -[A7], A3 000002AC 205F movea.l A0, [A7]+ 000002AE A05E syscall NMInstall 000002B0 3E80 move.w [A7], D0 000002B2 544F addq.w A7, 2 label000002B4: 000002B4 4CEE 18F0 FF28 movem.l D4,D5,D6,D7,A3,A4, [A6 - 0xD8] 000002BA 4E5E unlink A6 000002BC 4E75 rts fn000002BE: 000002BE 4E56 0000 link A6, 0 000002C2 4A6E 000A tst.w [A6 + 0xA] 000002C6 6708 beq +0xA /* 000002D0 */ 000002C8 203C FFFF F81C move.l D0, 0xFFFFF81C 000002CE 6006 bra +0x8 /* 000002D6 */ label000002D0: 000002D0 203C FFFF F81A move.l D0, 0xFFFFF81A label000002D6: 000002D6 3F00 move.w -[A7], D0 000002D8 3F2E 000E move.w -[A7], [A6 + 0xE] 000002DC 4EBA 00F6 jsr [PC + 0xF6 /* 000003D4 */] 000002E0 4E5E unlink A6 000002E2 4E75 rts fn000002E4: 000002E4 4E56 FFF0 link A6, -0x0010 000002E8 7002 moveq.l D0, 0x02 000002EA 41EE FFF0 lea.l A0, [A6 - 0x10] 000002EE A090 syscall SysEnvirons 000002F0 0C6E 0700 FFF4 cmpi.w [A6 - 0xC], 0x700 000002F6 5CC0 sge D0 000002F8 4400 neg.b D0 000002FA 4E5E unlink A6 000002FC 4E75 rts fn000002FE: 000002FE 4E56 0000 link A6, 0 00000302 2F0C move.l -[A7], A4 00000304 598F subq.l A7, 4 00000306 2F3C 696E 7374 move.l -[A7], 0x696E7374 /* 'inst' */ 0000030C 3F2E 000A move.w -[A7], [A6 + 0xA] 00000310 A81F syscall Get1Resource 00000312 285F movea.l A4, [A7]+ 00000314 200C move.l D0, A4 00000316 6714 beq +0x16 /* 0000032C */ 00000318 558F subq.l A7, 2 0000031A A9AF syscall ResError 0000031C 4A5F tst.w [A7]+ 0000031E 660C bne +0xE /* 0000032C */ 00000320 204C movea.l A0, A4 00000322 A029 syscall HLock 00000324 2054 movea.l A0, [A4] 00000326 4E90 jsr [A0] 00000328 2F0C move.l -[A7], A4 0000032A A9A3 syscall ReleaseResource label0000032C: 0000032C 558F subq.l A7, 2 0000032E A9AF syscall ResError 00000330 301F move.w D0, [A7]+ 00000332 286E FFFC movea.l A4, [A6 - 0x4] 00000336 4E5E unlink A6 00000338 4E75 rts fn0000033A: 0000033A 4E56 0000 link A6, 0 0000033E 48E7 0108 movem.l -[A7], D7,A4 00000342 4247 clr.w D7 00000344 598F subq.l A7, 4 00000346 2F3C 696E 7374 move.l -[A7], 0x696E7374 /* 'inst' */ 0000034C 7004 moveq.l D0, 0x04 0000034E 3F00 move.w -[A7], D0 00000350 A81F syscall Get1Resource 00000352 285F movea.l A4, [A7]+ 00000354 200C move.l D0, A4 00000356 6742 beq +0x44 /* 0000039A */ 00000358 558F subq.l A7, 2 0000035A A9AF syscall ResError 0000035C 3E1F move.w D7, [A7]+ 0000035E 663A bne +0x3C /* 0000039A */ 00000360 204C movea.l A0, A4 00000362 A029 syscall HLock 00000364 558F subq.l A7, 2 00000366 2054 movea.l A0, [A4] 00000368 4E90 jsr [A0] 0000036A 3E1F move.w D7, [A7]+ 0000036C 6628 bne +0x2A /* 00000396 */ 0000036E 558F subq.l A7, 2 00000370 303C 8001 move.w D0, 0x8001 00000374 AAAA syscall QuickTimeDispatch 00000376 3E1F move.w D7, [A7]+ 00000378 661C bne +0x1E /* 00000396 */ 0000037A 558F subq.l A7, 2 0000037C 2F0C move.l -[A7], A4 0000037E A9A4 syscall HomeResFile 00000380 303C 80E3 move.w D0, 0x80E3 00000384 AAAA syscall QuickTimeDispatch 00000386 598F subq.l A7, 4 00000388 303C 80E4 move.w D0, 0x80E4 0000038C AAAA syscall QuickTimeDispatch 0000038E 303C 8002 move.w D0, 0x8002 00000392 AAAA syscall QuickTimeDispatch 00000394 584F addq.w A7, 4 label00000396: 00000396 2F0C move.l -[A7], A4 00000398 A9A3 syscall ReleaseResource label0000039A: 0000039A 3007 move.w D0, D7 0000039C 4CEE 1080 FFF8 movem.l D7,A4, [A6 - 0x8] 000003A2 4E5E unlink A6 000003A4 4E75 rts 000003A6 4E56 0000 link A6, 0 000003AA 48E7 0018 movem.l -[A7], A3,A4 000003AE 286E 0008 movea.l A4, [A6 + 0x8] 000003B2 266C 0020 movea.l A3, [A4 + 0x20] 000003B6 558F subq.l A7, 2 000003B8 2F0C move.l -[A7], A4 000003BA 205F movea.l A0, [A7]+ 000003BC A05F syscall NMRemove 000003BE 3E80 move.w [A7], D0 000003C0 204C movea.l A0, A4 000003C2 A01F syscall DisposPtr/DisposePtr 000003C4 204B movea.l A0, A3 000003C6 A02A syscall HUnlock 000003C8 4CEE 1800 FFF8 movem.l A3,A4, [A6 - 0x8] 000003CE 4E5E unlink A6 000003D0 2E9F move.l [A7], [A7]+ 000003D2 4E75 rts fn000003D4: 000003D4 4E56 0000 link A6, 0 000003D8 48E7 1F38 movem.l -[A7], D3,D4,D5,D6,D7,A2,A3,A4 000003DC 0838 0006 028E btst.b [0x0000028E /* ROM85 */], 0x6 000003E2 6732 beq +0x34 /* 00000416 */ label000003E4: 000003E4 42A7 clr.l -[A7] 000003E6 2F3C 4943 4E23 move.l -[A7], 0x49434E23 /* 'ICN#' */ 000003EC 3F2E 000A move.w -[A7], [A6 + 0xA] 000003F0 A9A0 syscall GetResource 000003F2 201F move.l D0, [A7]+ 000003F4 671E beq +0x20 /* 00000414 */ 000003F6 2F00 move.l -[A7], D0 000003F8 2040 movea.l A0, D0 000003FA 2050 movea.l A0, [A0] 000003FC 2F08 move.l -[A7], A0 000003FE 3F2E 0008 move.w -[A7], [A6 + 0x8] 00000402 6100 00FE bsr +0x100 /* 00000502 */ 00000406 A9A3 syscall ReleaseResource label00000408: 00000408 4CDF 1CF8 movem.l D3,D4,D5,D6,D7,A2,A3,A4, [A7]+ 0000040C 4E5E unlink A6 0000040E 205F movea.l A0, [A7]+ 00000410 588F addq.l A7, 4 00000412 4ED0 jmp [A0] label00000414: 00000414 60F2 bra -0xC /* 00000408 */ label00000416: 00000416 2078 08A4 movea.l A0, [0x000008A4 /* MainDevice */] 0000041A 2050 movea.l A0, [A0] 0000041C 2068 0016 movea.l A0, [A0 + 0x16] 00000420 2050 movea.l A0, [A0] 00000422 42A7 clr.l -[A7] 00000424 3F2E 000A move.w -[A7], [A6 + 0xA] 00000428 AA1E syscall GetCIcon 0000042A 201F move.l D0, [A7]+ 0000042C 67B6 beq -0x48 /* 000003E4 */ 0000042E 2F00 move.l -[A7], D0 00000430 2F00 move.l -[A7], D0 00000432 3F2E 0008 move.w -[A7], [A6 + 0x8] 00000436 6100 014A bsr +0x14C /* 00000582 */ 0000043A AA25 syscall DisposeCIcon/DisposCIcon 0000043C 60CA bra -0x34 /* 00000408 */ 0000043E 5368 6F77 subq.w [A0 + 0x6F77], 1 00000442 494E chk.w D4, A6 00000444 4954 chk.w D4, [A4] 00000446 2062 movea.l A0, -[A2] 00000448 7920 moveq.l D4, 0x20 0000044A 5061 addq.w -[A1], 8 0000044C 756C moveq.l D2, 0x6C 0000044E 204D movea.l A0, A5 00000450 6572 bcs +0x74 /* 000004C4 */ 00000452 6365 bls +0x67 /* 000004B9 */ 00000454 7200 moveq.l D1, 0x00 00000456 436F 7079 chk.w D1, [A7 + 0x7079] 0000045A 7269 moveq.l D1, 0x69 0000045C 6768 beq +0x6A /* 000004C6 */ 0000045E 7420 moveq.l D2, 0x20 00000460 3139 3837 2D31 move.w -[A0], [0x38372D31] 00000466 3938 3800 move.w -[A4], [0x00003800] 0000046A 5665 addq.w -[A5], 3 0000046C 7273 moveq.l D1, 0x73 0000046E 696F bvs +0x71 /* 000004DF */ 00000470 6E20 bgt +0x22 /* 00000492 */ 00000472 6F66 ble +0x68 /* 000004DA */ 00000474 2037 2F31 352F 3838 move.l D0, [[A7 + 0x352F3838 + D2 * 8]] fn0000047C: 0000047C 2D78 0904 FFFC move.l [A6 - 0x4], [0x00000904 /* CurrentA5 */] 00000482 4BEE FFF8 lea.l A5, [A6 - 0x8] 00000486 21CD 0904 move.l [0x00000904 /* CurrentA5 */], A5 0000048A 486E FFF4 pea.l [A6 - 0xC] 0000048E A86E syscall InitGraf 00000490 486E FEA8 pea.l [A6 - 0x158] // begin alternate branch 00000492-00000496 label00000492: 00000492 FEA8 A86F .extension 0xEA8 <> // unimplemented // end alternate branch 00000492-00000496 label00000492: // (misaligned) 00000494 A86F syscall OpenPort 00000496 3038 092C move.w D0, [0x0000092C] 0000049A E358 rol D0.w, 1 0000049C 0A40 1021 xori.w D0, 0x1021 000004A0 B078 092E cmp.w D0, [0x0000092E] 000004A4 6706 beq +0x8 /* 000004AC */ 000004A6 31FC 0008 092C move.w [0x0000092C], 0x8 label000004AC: 000004AC 41EE FEA8 lea.l A0, [A6 - 0x158] 000004B0 3028 000C move.w D0, [A0 + 0xC] 000004B4 0440 0028 subi.w D0, 0x28 /* '(' */ 000004B8 4840 swap.w D0 000004BA 3038 092C move.w D0, [0x0000092C] 000004BE 2D40 FF22 move.l [A6 - 0xDE], D0 000004C2 2D40 FF26 move.l [A6 - 0xDA], D0 // begin alternate branch 000004C4-000004C6 label000004C4: 000004C4 FF26 .extension 0xF26 <> // unimplemented // end alternate branch 000004C4-000004C6 label000004C4: // (misaligned) label000004C6: 000004C6 066E 0020 FF28 addi.w [A6 - 0xD8], 0x20 /* ' ' */ 000004CC 066E 0020 FF26 addi.w [A6 - 0xDA], 0x20 /* ' ' */ 000004D2 4E75 rts fn000004D4: 000004D4 3038 092C move.w D0, [0x0000092C] 000004D8 322E 0008 move.w D1, [A6 + 0x8] // begin alternate branch 000004DA-000004DE label000004DA: 000004DA 0008 6A04 ori.b A0, 0x4 // end alternate branch 000004DA-000004DE label000004DA: // (misaligned) 000004DC 6A04 bpl +0x6 /* 000004E2 */ 000004DE 323C 0028 move.w D1, 0x28 /* '(' */ label000004E2: 000004E2 D041 add.w D0, D1 000004E4 31C0 092C move.w [0x0000092C], D0 000004E8 E358 rol D0.w, 1 000004EA 0A40 1021 xori.w D0, 0x1021 000004EE 31C0 092E move.w [0x0000092E], D0 000004F2 486E FEA8 pea.l [A6 - 0x158] 000004F6 A87D syscall ClosePort 000004F8 2A6E FFFC movea.l A5, [A6 - 0x4] 000004FC 21CD 0904 move.l [0x00000904 /* CurrentA5 */], A5 00000500 4E75 rts fn00000502: 00000502 4E56 FEA8 link A6, -0x0158 00000506 48E7 1F38 movem.l -[A7], D3,D4,D5,D6,D7,A2,A3,A4 0000050A 6100 FF70 bsr -0x8E /* 0000047C */ 0000050E 266E 000A movea.l A3, [A6 + 0xA] 00000512 49EE FF14 lea.l A4, [A6 - 0xEC] 00000516 288B move.l [A4], A3 00000518 0694 0000 0080 addi.l [A4], 0x80 0000051E 397C 0004 0004 move.w [A4 + 0x4], 0x4 00000524 42AC 0006 clr.l [A4 + 0x6] 00000528 397C 0020 000A move.w [A4 + 0xA], 0x20 /* ' ' */ 0000052E 397C 0020 000C move.w [A4 + 0xC], 0x20 /* ' ' */ 00000534 2F0C move.l -[A7], A4 00000536 45EE FEA8 lea.l A2, [A6 - 0x158] 0000053A 486A 0002 pea.l [A2 + 0x2] 0000053E 487A 003A pea.l [PC + 0x3A /* 0000057A, value 0x0, cstring "" */] 00000542 486E FF22 pea.l [A6 - 0xDE] 00000546 3F3C 0003 move.w -[A7], 0x3 0000054A 42A7 clr.l -[A7] 0000054C A8EC syscall CopyBits 0000054E 0494 0000 0080 subi.l [A4], 0x80 00000554 2F0C move.l -[A7], A4 00000556 486A 0002 pea.l [A2 + 0x2] 0000055A 487A 001E pea.l [PC + 0x1E /* 0000057A, value 0x0, cstring "" */] 0000055E 486E FF22 pea.l [A6 - 0xDE] 00000562 3F3C 0001 move.w -[A7], 0x1 00000566 42A7 clr.l -[A7] 00000568 A8EC syscall CopyBits 0000056A 6100 FF68 bsr -0x96 /* 000004D4 */ 0000056E 4CDF 1CF8 movem.l D3,D4,D5,D6,D7,A2,A3,A4, [A7]+ 00000572 4E5E unlink A6 00000574 205F movea.l A0, [A7]+ 00000576 5C8F addq.l A7, 6 00000578 4ED0 jmp [A0] 0000057A 0000 0000 ori.b D0, 0x0 0000057E 0020 0020 ori.b -[A0], 0x20 /* ' ' */ fn00000582: 00000582 4E56 FEA8 link A6, -0x0158 00000586 48E7 1F38 movem.l -[A7], D3,D4,D5,D6,D7,A2,A3,A4 0000058A 6100 FEF0 bsr -0x10E /* 0000047C */ 0000058E 486E FF22 pea.l [A6 - 0xDE] 00000592 2F2E 000A move.l -[A7], [A6 + 0xA] 00000596 AA1F syscall PlotCIcon 00000598 6100 FF3A bsr -0xC4 /* 000004D4 */ 0000059C 4CDF 1CF8 movem.l D3,D4,D5,D6,D7,A2,A3,A4, [A7]+ 000005A0 4E5E unlink A6 000005A2 205F movea.l A0, [A7]+ 000005A4 5C8F addq.l A7, 6 000005A6 4ED0 jmp [A0] fn000005A8: 000005A8 4E56 0000 link A6, 0 000005AC 594F subq.w A7, 4 000005AE 2F3C 5354 5223 move.l -[A7], 0x53545223 /* 'STR#' */ 000005B4 3F2E 000A move.w -[A7], [A6 + 0xA] 000005B8 A9A0 syscall GetResource 000005BA 226E 000C movea.l A1, [A6 + 0xC] 000005BE 4211 clr.b [A1] 000005C0 201F move.l D0, [A7]+ 000005C2 6722 beq +0x24 /* 000005E6 */ 000005C4 2040 movea.l A0, D0 000005C6 2050 movea.l A0, [A0] 000005C8 3018 move.w D0, [A0]+ 000005CA 322E 0008 move.w D1, [A6 + 0x8] 000005CE 6716 beq +0x18 /* 000005E6 */ 000005D0 B240 cmp.w D1, D0 000005D2 6212 bhi +0x14 /* 000005E6 */ 000005D4 7000 moveq.l D0, 0x00 label000005D6: 000005D6 5341 subq.w D1, 1 000005D8 6706 beq +0x8 /* 000005E0 */ 000005DA 1018 move.b D0, [A0]+ 000005DC D1C0 add.l A0, D0 000005DE 60F6 bra -0x8 /* 000005D6 */ label000005E0: 000005E0 1010 move.b D0, [A0] 000005E2 5240 addq.w D0, 1 000005E4 A02E syscall BlockMove/BlockMoveData label000005E6: 000005E6 4E5E unlink A6 000005E8 205F movea.l A0, [A7]+ 000005EA 508F addq.l A7, 8 000005EC 4ED0 jmp [A0] fn000005EE: 000005EE 4E56 0000 link A6, 0 000005F2 203C 0000 A89F move.l D0, 0xA89F 000005F8 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 000005FA 2F08 move.l -[A7], A0 000005FC 203C 0000 A0AD move.l D0, 0xA0AD 00000602 A346 syscall GetOSTrapAddress, flags=3 00000604 B1DF cmpa.l A0, [A7]+ 00000606 670E beq +0x10 /* 00000616 */ 00000608 202E 000C move.l D0, [A6 + 0xC] 0000060C A1AD syscall Gestalt, flags=1 0000060E 226E 0008 movea.l A1, [A6 + 0x8] 00000612 2288 move.l [A1], A0 00000614 6026 bra +0x28 /* 0000063C */ label00000616: 00000616 41FA 0036 lea.l A0, [PC + 0x36 /* 0000064E, value 0x76657273 'vers', cstring "vers" */] 0000061A 303C EA51 move.w D0, 0xEA51 0000061E 222E 000C move.l D1, [A6 + 0xC] label00000622: 00000622 B298 cmp.l D1, [A0]+ 00000624 6706 beq +0x8 /* 0000062C */ 00000626 4A98 tst.l [A0]+ 00000628 6712 beq +0x14 /* 0000063C */ 0000062A 60F6 bra -0x8 /* 00000622 */ label0000062C: 0000062C 43FA 0020 lea.l A1, [PC + 0x20 /* 0000064E, value 0x76657273 'vers', cstring "vers" */] 00000630 D3D0 add.l A1, [A0] 00000632 4ED1 jmp [A1] label00000634: 00000634 226E 0008 movea.l A1, [A6 + 0x8] 00000638 2280 move.l [A1], D0 0000063A 4240 clr.w D0 label0000063C: 0000063C 3D40 0010 move.w [A6 + 0x10], D0 00000640 4E5E unlink A6 00000642 205F movea.l A0, [A7]+ 00000644 508F addq.l A7, 8 00000646 4ED0 jmp [A0] label00000648: 00000648 303C EA52 move.w D0, 0xEA52 0000064C 60EE bra -0x10 /* 0000063C */ 0000064E 7665 moveq.l D3, 0x65 00000650 7273 moveq.l D1, 0x73 00000652 0000 0060 ori.b D0, 0x60 /* '`' */ 00000656 6D61 blt +0x63 /* 000006B9 */ 00000658 6368 bls +0x6A /* 000006C2 */ 0000065A 0000 0064 ori.b D0, 0x64 /* 'd' */ 0000065E 7379 moveq.l D1, 0x79 00000660 7376 moveq.l D1, 0x76 00000662 0000 0088 ori.b D0, 0x88 00000666 7072 moveq.l D0, 0x72 00000668 6F63 ble +0x65 /* 000006CD */ 0000066A 0000 0092 ori.b D0, 0x92 0000066E 6670 bne +0x72 /* 000006E0 */ 00000670 7520 moveq.l D2, 0x20 00000672 0000 009E ori.b D0, 0x9E 00000676 7164 moveq.l D0, 0x64 00000678 2020 move.l D0, -[A0] 0000067A 0000 00E8 ori.b D0, 0xE8 0000067E 6B62 bmi +0x64 /* 000006E2 */ 00000680 6420 bcc +0x22 /* 000006A2 */ 00000682 0000 011A ori.b D0, 0x1A 00000686 6174 bsr +0x76 /* 000006FC */ 00000688 6C6B bge +0x6D /* 000006F5 */ 0000068A 0000 0142 ori.b D0, 0x42 /* 'B' */ 0000068E 6D6D blt +0x6F /* 000006FD */ 00000690 7520 moveq.l D2, 0x20 00000692 0000 0164 ori.b D0, 0x64 /* 'd' */ 00000696 7261 moveq.l D1, 0x61 00000698 6D20 blt +0x22 /* 000006BA */ 0000069A 0000 0188 ori.b D0, 0x88 0000069E 6C72 bge +0x74 /* 00000712 */ 000006A0 616D bsr +0x6F /* 0000070F */ label000006A2: 000006A2 0000 0188 ori.b D0, 0x88 000006A6 0000 0000 ori.b D0, 0x0 000006AA 0000 0000 ori.b D0, 0x0 000006AE 7001 moveq.l D0, 0x01 000006B0 6082 bra -0x7C /* 00000634 */ 000006B2 2278 02AE movea.l A1, [0x000002AE /* ROMBase */] 000006B6 7004 moveq.l D0, 0x04 000006B8 0C69 0075 0008 cmpi.w [A1 + 0x8], 0x75 /* 'u' */ // begin alternate branch 000006BA-000006C2 label000006BA: 000006BA 0075 0008 6712 0C69 ori.w [[A5 + D6 * 8] + 0xC69], 0x8 // end alternate branch 000006BA-000006C2 label000006BA: // (misaligned) 000006BE 6712 beq +0x14 /* 000006D2 */ 000006C0 0C69 0276 0008 cmpi.w [A1 + 0x8], 0x276 // begin alternate branch 000006C2-000006C8 label000006C2: 000006C2 0276 0008 6604 andi.w [A6 + D6.w * 8 + 0x4], 0x8 // end alternate branch 000006C2-000006C8 label000006C2: // (misaligned) 000006C6 6604 bne +0x6 /* 000006CC */ 000006C8 5240 addq.w D0, 1 000006CA 6006 bra +0x8 /* 000006D2 */ label000006CC: 000006CC 1038 0CB3 move.b D0, [0x00000CB3 /* MMUFluff/MachineType */] 000006D0 5C80 addq.l D0, 6 label000006D2: 000006D2 6000 FF60 bra -0x9E /* 00000634 */ 000006D6 7000 moveq.l D0, 0x00 000006D8 3038 015A move.w D0, [0x0000015A /* SysVersion */] 000006DC 6000 FF56 bra -0xA8 /* 00000634 */ label000006E0: 000006E0 7000 moveq.l D0, 0x00 label000006E2: 000006E2 1038 012F move.b D0, [0x0000012F /* CPUFlag */] 000006E6 5240 addq.w D0, 1 000006E8 6000 FF4A bra -0xB4 /* 00000634 */ 000006EC 0C38 0004 012F cmpi.b [0x0000012F /* CPUFlag */], 0x4 000006F2 6738 beq +0x3A /* 0000072C */ 000006F4 0838 0004 0B22 btst.b [0x00000B22 /* HWCfgFlags */], 0x4 000006FA 6734 beq +0x36 /* 00000730 */ fn000006FC: 000006FC 204F movea.l A0, A7 000006FE F280 0000 fnop 00000702 F327 .extension 0x327 <> // unimplemented 00000704 3017 move.w D0, [A7] 00000706 2E48 movea.l A7, A0 00000708 0C40 1F18 cmpi.w D0, 0x1F18 0000070C 6716 beq +0x18 /* 00000724 */ 0000070E 0C40 3F18 cmpi.w D0, 0x3F18 label00000712: 00000712 6710 beq +0x12 /* 00000724 */ 00000714 0C40 3F38 cmpi.w D0, 0x3F38 /* '?8' */ 00000718 670E beq +0x10 /* 00000728 */ 0000071A 0C40 1F38 cmpi.w D0, 0x1F38 0000071E 6708 beq +0xA /* 00000728 */ 00000720 7000 moveq.l D0, 0x00 00000722 600E bra +0x10 /* 00000732 */ label00000724: 00000724 7001 moveq.l D0, 0x01 00000726 600A bra +0xC /* 00000732 */ label00000728: 00000728 7002 moveq.l D0, 0x02 0000072A 6006 bra +0x8 /* 00000732 */ label0000072C: 0000072C 7003 moveq.l D0, 0x03 0000072E 6002 bra +0x4 /* 00000732 */ label00000730: 00000730 7000 moveq.l D0, 0x00 label00000732: 00000732 6000 FF00 bra -0xFE /* 00000634 */ 00000736 0C78 3FFF 028E cmpi.w [0x0000028E /* ROM85 */], 0x3FFF 0000073C 6E1C bgt +0x1E /* 0000075A */ 0000073E 303C A89F move.w D0, 0xA89F 00000742 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 00000744 2408 move.l D2, A0 00000746 203C 0000 AB03 move.l D0, 0xAB03 0000074C A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 0000074E 203C 0000 0100 move.l D0, 0x100 00000754 B488 cmp.l D2, A0 00000756 6606 bne +0x8 /* 0000075E */ 00000758 600A bra +0xC /* 00000764 */ label0000075A: 0000075A 7000 moveq.l D0, 0x00 0000075C 6006 bra +0x8 /* 00000764 */ label0000075E: 0000075E 203C 0000 0200 move.l D0, 0x200 label00000764: 00000764 6000 FECE bra -0x130 /* 00000634 */ 00000768 1038 021E move.b D0, [0x0000021E /* KbdType */] 0000076C 41FA 0016 lea.l A0, [PC + 0x16 /* 00000784, value 0x3130B02 */] 00000770 2248 movea.l A1, A0 label00000772: 00000772 1218 move.b D1, [A0]+ 00000774 6700 FED2 beq -0x12C /* 00000648 */ 00000778 B200 cmp.b D1, D0 0000077A 66F6 bne -0x8 /* 00000772 */ 0000077C 91C9 sub.l A0, A1 0000077E 2008 move.l D0, A0 00000780 6000 FEB2 bra -0x14C /* 00000634 */ 00000784 0313 btst [A3], D1 00000786 0B02 btst D2, D5 00000788 0106 btst D6, D0 0000078A 0704 btst D4, D3 0000078C 0508 btst A0, D2 0000078E 0900 btst D0, D4 00000790 7000 moveq.l D0, 0x00 00000792 4A38 0291 tst.b [0x00000291 /* PortBUse */] 00000796 6B16 bmi +0x18 /* 000007AE */ 00000798 1238 01FB move.b D1, [0x000001FB /* SPConfig */] 0000079C 0201 000F andi.b D1, 0xF 000007A0 0C01 0001 cmpi.b D1, 0x1 000007A4 6608 bne +0xA /* 000007AE */ 000007A6 2078 02DC movea.l A0, [0x000002DC /* ABusDCE */] 000007AA 1028 0007 move.b D0, [A0 + 0x7] label000007AE: 000007AE 6000 FE84 bra -0x17A /* 00000634 */ 000007B2 0C38 0002 012F cmpi.b [0x0000012F /* CPUFlag */], 0x2 000007B8 6D16 blt +0x18 /* 000007D0 */ 000007BA 7000 moveq.l D0, 0x00 000007BC 1038 0CB1 move.b D0, [0x00000CB1 /* MMUType */] 000007C0 0C00 0001 cmpi.b D0, 0x1 000007C4 670C beq +0xE /* 000007D2 */ 000007C6 0C00 0003 cmpi.b D0, 0x3 000007CA 6D04 blt +0x6 /* 000007D0 */ 000007CC 5340 subq.w D0, 1 000007CE 6002 bra +0x4 /* 000007D2 */ label000007D0: 000007D0 7000 moveq.l D0, 0x00 label000007D2: 000007D2 6000 FE60 bra -0x19E /* 00000634 */ 000007D6 303C A89F move.w D0, 0xA89F 000007DA A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 000007DC 2408 move.l D2, A0 000007DE 203C 0000 A88F move.l D0, 0xA88F 000007E4 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 000007E6 2038 0108 move.l D0, [0x00000108 /* MemTop */] 000007EA B488 cmp.l D2, A0 000007EC 670A beq +0xC /* 000007F8 */ 000007EE 598F subq.l A7, 4 000007F0 3F3C 0016 move.w -[A7], 0x16 000007F4 A88F syscall OSDispatch 000007F6 201F move.l D0, [A7]+ label000007F8: 000007F8 6000 FE3A bra -0x1C4 /* 00000634 */